package com.xafc.demo.sys.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.xafc.demo.security.utils.CurrentUser;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


@TableName("sys_user")
@Data
public class User implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    private Integer id;

    /**
     * 姓名
     */
    private String  name;

    /**
     * 手机号
     */
    private String  mobile;

    /**
     * 登录名称
     */
    private String  username;

    /**
     * 登录密码
     */
    private String  password;

    /**
     * 密码加密串
     */
    private String  salt;

    /**
     * 所属部门
     */
    private Integer dept;

    /**
     * 管理的部门
     */
    private String manageDept;

    /**
     * 监管的部门
     */
    private String partDept;

    /**
     * 角色, 逗号分隔
     */
    private String role;

    /**
     * 最后登录时间
     */
    private Integer lastLogin;

    /**
     * 最后登录IP地址
     */
    private String lastIp;

    /**
     * 背景水印图
     */
    private String backWater;

    /**
     * 注册时间
     */
    private Integer createTime;

    /**
     * 更新时间
     */
    private Integer updateTime;

    /**
     * 入职时间
     */
    private Date entryTime;

    /**
     * 离职时间
     */
    private Date dimissionTime;

    /**
     * 用户状态： 1正常，2 锁定，3离职
     */
    private Integer status;

    /**
     * 生成当前用户信息
     * @return 当前登录用户信息
     */
    public CurrentUser toCurrentUser() {
        final CurrentUser currentUser = new CurrentUser();
        currentUser.setUserId(this.getId());
        currentUser.setUsername(this.getUsername());
        return currentUser;
    }
}
